#ifndef DATASTRUCTRE_H
#define DATASTRUCTRE_H
#include "common.h"
class Format
{
public:
    Format();
    Screen initScreen(int screen_id = 1);
    Partition initPartition(int partition_id);
    Layout initLayout(int layout_id);
    Item initItem(int item_id);
    CabPosItem initCabPosItem(QString item_type, int item_id);

    void initDeflultData(int width, int height);

    PathPrefix             path_refix;
    QList<VideoStream>     video_streams;
    QString                architecture_version;
    QString                current_show;
    Resolution             resolution;
    QMap<QString, QString> resources;
    QMap<int, Screen>      screens;
    QString                type;

    bool isIdRepeated(int new_id);
    bool isCabPosRepeated(int screen_id, int partition_id, int layout_id, int item_id, QString cab_pos_item_str);
    int getNewScreenId();
    int getNewPartitionId(int screen_id);
    int getNewLayoutId(int screen_id, int partition_id);
    int getNewItemId(int screen_id, int partition_id, int layout_id);

};

#endif // DATASTRUCTRE_H
